/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Online;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;

/**
 *
 * @author Victor
 */
public class Opciones {
    
         /*
     * Variables para la conexión a la BD
     */
        private String bd = "is2"; 
        private String user = "root";
        //Se añade un campo extra a la URI, para que admita transformaciones a null
        private String url ="jdbc:mysql://localhost/" + bd+"?zeroDateTimeBehavior=convertToNull";
        private Connection conexion;
        private java.sql.Statement statement;
        
        public Opciones(){
            try {
                //Se añade la biblioteca de mysql
                Class.forName("com.mysql.jdbc.Driver");
                //Se conecta a la BD
                conexion = DriverManager.getConnection(url, user,"");
                //Se genera la variable que interacciona con la BD
                statement = conexion.createStatement();
            } catch (SQLException ex) {
            } catch (ClassNotFoundException ex) {
            }
        }
        
        /**
         * Metodo que indica el estado de la conexion
         * @return true si se ha conectado, false en otro caso
         */
        public boolean estado(){
            return (!(statement == null));
        }
    
    
        
        public String[] getOpcion(String user){
            String[] mensaje = new String[3];
            try { 
               //Consulta SQL, buscando un usuario que coincida user
                String consulta = "SELECT * FROM `opciones` WHERE `Usuario` = \""+user+"\";";
                //Resultado de la consulta
                ResultSet result = statement.executeQuery(consulta);
                result.getRow();
                //Comprobación si hay al menos un resultado
                while (result.next()){
                    mensaje[0] = result.getString(1);
                    mensaje[1] = result.getString(2);
                    mensaje[2] = result.getString(3);
                }
            
            } catch (SQLException ex) {
                //Si no se encontraron resultados se devuelve null
                mensaje = null;
            }
            return mensaje;
        }
        
        
        public boolean setOpcion(String user,int numtareasl,int numtareasm,String lista){
            boolean terminado = true;
            try { 
               //Consulta SQL, para actualizar la tabla de tareas
                String consulta = "UPDATE opciones SET NumTareasLista = "+numtareasl+
                                "NumTareasMapa = "+numtareasm+
                                "ListaArranque = \""+lista+
                                "\" Where Usuario = \""+user+"\";";
                //Resultado de la consulta
                int result = statement.executeUpdate(consulta);
            } catch (SQLException ex) {
                //Si la consulta falla
                terminado = false;
            }
            return terminado;
        }
        
        
        public boolean modificarOpciones(String numL,String numM,String lista,String user){
            boolean terminado = true;
            try { 
               //Consulta SQL, para actualizar la tabla de tareas
                String consulta = "UPDATE opciones SET NumTareasLista="+numL+","
                                +"NumTareasMapa="+numM+",ListaArranque=\""+lista+
                                "\" Where Usuario = \""+user+"\";";
                //Resultado de la consulta
                int result = statement.executeUpdate(consulta);
            } catch (SQLException ex) {
                //Si la consulta falla
                terminado = false;
            }
            return terminado;
        }
        
}
